<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <!-- 1. 创建一个根标签(将动态创建的元素,插入到这个标签中,从而使动态创建的元素可以在页面中渲染出来) -->
    <div id="root"></div>
    <!-- 2. 引入react和react-dom
    注意: 要先引入react,后引入react-dom.
    react.js提供了React对象.
    react-dom.js提供了ReactDOM
    -->
    <script src="./js/react.development.js"></script>
    <script src="./js/react-dom.development.js"></script>
    <script src="./js/babel.min.js"></script>

    <!-- 3. 在script标签中,写js,动态创建元素 -->
    <!-- 注意: 需要babel编译我们代码中的jsx,就要在script上写type="text/babel". 这样babel才会工作 -->
    <script type="text/babel">
      //   例如: 我们要创建这样一个结构: div > p#one > 李晶, 红浪漫vip中p

      // 这段代码就是jsx
      // 注意:
      // 1. 浏览器不认识jsx,也就无法解析. 解决: 使用babel.将jsx编译成React.createElement
      // 2. jsx结构必须要有一个根标签,有且仅有一个
      const div = (
        <div>
          <div>
            <p id="one">李晶, 红浪漫vip中p</p>
          </div>
          <div>
            <span>123</span>
          </div>
        </div>
      )

      //   console.log(div, p)
      //   ReactDOM.render干了两件事:
      // 1. ReactDOM会根据虚拟DOM div 创建真实dom div和p
      // 2. 当把真实dom创建出来之后,会自动把真实dom插入到root里面
      ReactDOM.render(div, document.getElementById('root'))
    </script>
  </body>
</html>
